package com.easy.dfc.mapper;


import com.easy.core.persistence.annotation.MyBatisMapper;
import com.easy.dfc.Utils.PagingUtil;
import com.easy.dfc.entity.Productset;
import com.easy.dfc.entity.ProductsetWithBLOBs;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@MyBatisMapper

public interface ProductsetMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(ProductsetWithBLOBs record);

    int insertSelective(ProductsetWithBLOBs record);

    ProductsetWithBLOBs selectByPrimaryKey(Integer id);

    ProductsetWithBLOBs selectByUuId(String uuId);

    ProductsetWithBLOBs selectByProductId(String ProductId);

    ProductsetWithBLOBs selectBySkuId(Integer skuId);


    List<ProductsetWithBLOBs> selectFollowProduct(PagingUtil pagingUtil);

    List<ProductsetWithBLOBs> selectByFactoryId(Integer factoryId);

    List<ProductsetWithBLOBs> selectByBrandId(Integer BrandId);

    List<ProductsetWithBLOBs> selectByBrandIdList(PagingUtil pagingUtil);

    List<ProductsetWithBLOBs> selectByTagId(Integer BrandId, Integer factoryId);

    List<ProductsetWithBLOBs> selectByTagIdList(PagingUtil pagingUtil);

    List<ProductsetWithBLOBs> selectByFactoryIdFor20(PagingUtil pagingUtil);

    List<ProductsetWithBLOBs> selectByFactoryIdForNew(PagingUtil pagingUtil);

    List<ProductsetWithBLOBs> selectProductList(PagingUtil pagingUtil);

    List<ProductsetWithBLOBs> selectNewProductList(PagingUtil pagingUtil);

    List<ProductsetWithBLOBs> selectHotProductList(PagingUtil pagingUtil);

    int updateByPrimaryKeySelective(ProductsetWithBLOBs record);

    int updateByPrimaryKeyWithBLOBs(ProductsetWithBLOBs record);

    int updateByPrimaryKey(Productset record);


    //******** 以下为全新定义
    List<Map<String,Object>> getNewProductList(@Param(value = "limitSize")Integer limitSize);
}